package com.visec.hdy.hadoop.standard;

import com.visec.hdy.hadoop.standard.Analysis.Item;

/**
 * 数据存储接口
 * 
 * @author hdy
 *
 * @param <K>
 * @param <V>
 */
public interface Storage<K, V> {
	/**
	 * 存储数据
	 * 
	 * @param item
	 */
	void store(Item<K, V> item);

	/**
	 * 设置存储上下文
	 * 
	 * @param context
	 */
	void setContext(WriteContext<K> context);

	/**
	 * 开启流
	 */
	void open();

	/**
	 * 将流数据刷新到磁盘
	 */
	void flush();

	/**
	 * 关闭流
	 */
	void close();
}
